package com.example.livemall.dto;

import com.example.livemall.enums.LzjResultEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class LzjResult implements Serializable {

    // 响应状态码，成功 200 失败 500
    private Integer status;
    // 返回结果数据。Banner轮播使用时，用于保存图片地址集合
    private Object data;
    // 提示消息。Banner轮播使用时，用于查询错误时返回提示信息
    private String msg;

    private String time;

    // 成功返回的对象
    public static LzjResult success() {
		return new LzjResult(LzjResultEnum.SUCCESS.getStatus(), null, LzjResultEnum.SUCCESS.getMsg(), null);
	}

    // 成功返回的对象
   public static LzjResult success(String msg) {
		return new LzjResult(LzjResultEnum.SUCCESS.getStatus(), null, msg, null);
	}

    // 成功返回的对象
   public static LzjResult success(String msg, Object data) {
		return new LzjResult(LzjResultEnum.SUCCESS.getStatus(), data, msg, null);
	}

    // 失败返回对象
    public static LzjResult error() {
		return new LzjResult(LzjResultEnum.ERROR.getStatus(), null, LzjResultEnum.ERROR.getMsg(), null);
	}

    // 失败返回对象
    public static LzjResult error(String msg) {
		return new LzjResult(LzjResultEnum.ERROR.getStatus(), null, msg, null);
	}

    // 失败返回对象
    public static LzjResult error(String msg, Object data) {
		return new LzjResult(LzjResultEnum.ERROR.getStatus(), data, msg, null);
	}

}